package star.cloud.asme.system.permission;

import org.springframework.transaction.annotation.Transactional;
import star.cloud.asme.base.dto.Result;
import star.cloud.asme.base.mybatis.IBaseService;

import java.util.Collection;
import java.util.List;


public interface PermissionService extends IBaseService<Permission> {

    default Result<?> resetPermissionListByRoleAndMenu(PermissionDTO permissionDTO) {
        return null;
    }

    default Result<List<String>> selectPermissionTextListByRoleNameAndMenuTitle(PermissionDTO permissionDTO) {
        return null;
    }

    default Result<List<Permission>> selectPermissionListByRoleNameAndMenuTitle(PermissionDTO permissionDTO) {
        return null;
    }

    @Transactional(rollbackFor = Exception.class)
    default void deleteByRoleNameAndMenuTitles(String roleName, List<String> menuTitles) {
    }

    default void myDeleteByRoleName(String roleName) {
    }

    default Result<List<String>> getPermissionTextListByUserId(Long userId) {
        return null;
    }
}